package com.telit.common.response;

/**
 * Create by Chencf on 2022/07/11
 * 基础通用的错误代码
 */
public enum CommonResultCode implements ResultCode {

    //成功  通用
    SUCCESS(00000, "成功"),
    ERR(500, "服务器繁忙"),

    /**
     * 携带Exception消息的错误码
     * 101开头的错误码，在响应到客户端时，message将拼接异常的exceptionMessage
     */
    QUERY_METHOD_ERR(10100,"请求方式错误"),

    // 分布式锁加锁失败 将抛出此异常
    LOCK_ERROR(20100, "服务器繁忙，请稍后再试"),
    // 分布式锁解锁失败 将抛出此异常
    UNLOCK_ERROR(20101, "服务器繁忙，请稍后再试"),

    /**
     * 常用校验异常
     */
    NO_PARAM(20102, "必填参数未填写"),
    ILLEGAL_PARAM(20103, "参数无效"),
    SERVER_ERROR(20104, "系统错误"),
    LOGIC_ERROR(20105, "逻辑错误"),
    CHECK_REPEAT_COMMIT(20106,"重复提交"),

    RECORD_NOT_EXIT(20107,"记录不存在"),

    /**
     * Http请求异常
     */
    HTTP_BASE_ERROR(20400, "Http请求错误"),
    HTTP_CLIENT_ACCEPT_ERROR(20401, "客户端Accept错误"),

    /**
     * 导入Excel发生错误,数据格式异常
     */
    IMPORT_EXCEL_ERROR(20500, "导入文件发生错误,数据格式异常"),
    IMPORT_EXCEL_ERROR_DOWNLOAD(20501, "导入文件发生错误,有错误文件返回"),

    /**
     *  无人机管理相关
     */
    UAV_CODE_EXIST(30000,"无人机编号已存在"),
    UAV_NAME_EXIST(30001,"无人机名称已存在"),
    DEVICE_PRODUCTER_EXIST(30002,"设备厂商已存在"),
    DEVICE_MODLE_EXIST(30003,"设备厂商下已存在相同型号的无人机"),

    //配置模块异常code管理
    CODE_EXIST(40000,"code编码已经存在"),
    NAME_EXIST(40001,"name编码已经存在"),

    //火情转交错误code
    FIRE_TRANS_ALREADY(60001,"该火情已经被转交"),


    NOT_AUTH(50000,"无操作权限")
    ;


    private int code;
    private String errorMsg;

    CommonResultCode(int code, String errorMsg) {
        this.code = code;
        this.errorMsg = errorMsg;
    }



    @Override
    public int getCode() {
        return this.code;
    }

    @Override
    public String getErrorMsg() {
        return this.errorMsg;
    }}